今天的內容會開始介紹我們要使用的整合開發環境 — Visual Studio,在維基百科是這樣簡述 Visual Studio:Microsoft Visual Studio(視覺工作室,簡稱 VS 或 MSVS)是微軟公司的開發工具套件系列產品。VS 是一個基本完整的開發工具集,它包括了整個軟體生命週期中所需要的大部分工具,如 UML 工具、程式碼管控工具、整合開發環境(IDE)等等。
也是做為我目前工作系統的開發工具。以下用引用其他 Youtuber 的教學影片分別教學如何在 Windows 與 Mac 作業系統上安裝。
Windows:Visual Studio 2022 | Download & Installation
Mac:How To Install Visual Studio for Mac | Install Visual Studio on macOS
做為本系列第一次寫測試的專案,採用 .NET Standard 2.1 框架且不引入任何第三方套件做為本次的測試專案兼範例,而系統功能主題為銀行帳戶 (Account)。銀行帳戶本身帶有的屬性就是餘額 (Balance);而銀行帳戶類別建構子提供了兩種方式:有提供餘額跟未提供餘額,未提供餘額皆預設帳戶餘額為零元;最後是商業邏輯方法,因重點在於如何撰寫單元測試,因此此專案僅列出象徵性的功能:存款 (Add)、取款 (Withdraw) 與轉帳 (TransferFundsTo)。
而後本系列開發的專案,為了保持一致的程式風格,會統一屬性、建構子與商業邏輯撰寫方式
private double balance;
public double Balance
{
get { return balance; }
}
public BankAccount()
{
}
public BankAccount(double balance)
{
this.balance = balance;
}
public void Add(double amount)
{
if (amount < 0)
{
throw new ArgumentOutOfRangeException(nameof(amount));
}
balance += amount;
}
另一方面,單元測試的程式風格如下:
[Test]
public void Adding_Funds_Updates_Balance()
{
// Arrange
account = new BankAccount(1000);
// Act
account.Add(500);
// Assert
Assert.AreEqual(1500, account.Balance);
}
PS:而後都是依照 3A 原則:Arrange -> Act -> Assert,明天 Day 5 會介紹 3A 原則。
最後提供 Hello Bank Startup 的連結:https://github.com/SunShineYen/HelloBank (可先測試專案是否可以編譯,又試著利用 IDE 跑測試)
Hello Bank 的內容是參考於 MatthiWare 的教學影片:https://www.youtube.com/c/MatthiWare/search?query=NUnit